Changeset 924


Ignore:
Timestamp:
02/04/2011 01:18:52 PM (10 years ago)
Author:
dave
Message:

entities now optionally have a tile location, improved hiding

Location:
scenarios/GerminationX/fungi/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • scenarios/GerminationX/fungi/src/Fungi.hx

    r917 r924  
    154154{ 
    155155    public var Name:String; 
     156 
    156157    var Debug:flash.text.TextField; 
    157158        var BG:Graphics; 
     
    167168        var tf = new flash.text.TextField(); 
    168169        tf.text = "nowt yet."; 
    169         tf.x=Pos.x-50; 
     170        tf.x=Pos.x-150; 
    170171        tf.y=Pos.y-25; 
    171172        tf.height=150; 
     
    187188        BG.drawRect(tf.x,tf.y,tf.width,tf.height); 
    188189        BG.endFill(); 
     190        figures.visible=false; 
    189191        cast(c,truffle.flash.FlashWorld).addChild(figures); 
    190192 
    191193        c.addChild(tf); 
    192194        Debug=tf; 
    193         /*tf.visible=false; 
    194         Root.MouseOver(this,function(c) { tf.visible=true; }); 
    195         Root.MouseOut(this,function(c) { tf.visible=false; });*/ 
     195        tf.visible=false; 
    196196 
    197197        Root.MouseDown(c,function(c) 
    198198        { 
    199             trace("perc..."); 
    200             c.Server.Request("perceive",1,function(c,d){}); 
     199            tf.visible=!tf.visible; 
     200            figures.visible=!figures.visible; 
    201201        }); 
    202202        } 
     
    204204    public function UpdateEmotions(e:Dynamic) 
    205205    { 
     206        SetTilePos(new Vec2(Std.parseInt(e.tile.x), 
     207                            Std.parseInt(e.tile.y))); 
     208 
     209        LogicalPos = new Vec3(Std.parseInt(e.pos.x), 
     210                              Std.parseInt(e.pos.y), 
     211                              4); 
     212 
    206213        var ee = e.emotions.content; 
    207214        var mood=Std.parseFloat(ee[0].content[0]); 
     
    229236        t.color= 0x000000;            
    230237        Debug.setTextFormat(t); 
     238        Debug.x=Pos.x-150; 
     239        Debug.y=Pos.y-25; 
    231240 
    232241        BG.clear(); 
     
    403412        { 
    404413                WorldPos=pos; 
     414        SetCurrentTilePos(new Vec2(pos.x,pos.y)); 
    405415                 
    406416                var circles = []; 
  • scenarios/GerminationX/fungi/src/truffle/Bone.hx

    r843 r924  
    6464    } 
    6565 
     66    override function Hide(s:Bool) : Void 
     67    { 
     68        if (Hidden!=s) 
     69        { 
     70            super.Hide(s); 
     71            for (c in Children) 
     72            { 
     73                c.Hide(s); 
     74            } 
     75        } 
     76    } 
     77 
    6678    public function Print() 
    6779    { 
  • scenarios/GerminationX/fungi/src/truffle/Entity.hx

    r873 r924  
    1919class Entity 
    2020{ 
    21     public var LogicalPos:Vec3; 
    22     public var Depth:Float; 
    23     public var Pos:Vec3; 
    24     public var NeedsUpdate:Bool; 
     21    public var TilePos:Vec2;     // position in the world in tiles  
     22    public var LogicalPos:Vec3;  // position in it's tile 
     23    public var Pos:Vec3;         // screen position 
     24    public var Depth:Float;      // depth from camera 
     25    public var NeedsUpdate:Bool;  
     26    public var Hidden:Bool; 
    2527                 
    2628        public function new(w:World,pos:Vec3)  
     
    2830        LogicalPos=pos; 
    2931        Pos = Pos2PixelPos(LogicalPos); 
     32        TilePos = null; 
    3033        Depth = Pos.z; 
    3134        NeedsUpdate=false; 
     
    4649                        pos.x*0.51 + pos.y*0.71 + pos.z*0.47);              
    4750        } 
    48                  
     51 
     52    public function SetTilePos(s:Vec2) : Void 
     53    { 
     54        TilePos=s; 
     55    } 
     56 
    4957        public function Update(frame:Int, world:World) 
    5058        { 
     
    6169    { 
    6270    } 
     71 
     72    public function Hide(s:Bool) : Void 
     73    { 
     74        Hidden=s; 
     75        if (GetRoot()) GetRoot().Hide(s); 
     76    } 
    6377} 
  • scenarios/GerminationX/fungi/src/truffle/flash/FlashSprite.hx

    r864 r924  
    3838    public var Angle:Float; 
    3939    public var MyScale:Vec2; 
     40    public var Hidden:Bool; 
    4041    var Transform:Matrix; 
    4142    var Depth:Int; 
     
    7071    public function Hide(s:Bool) : Void 
    7172    { 
     73        Hidden=s; 
    7274        visible=!s; 
    7375    } 
  • scenarios/GerminationX/fungi/src/truffle/flash/FlashWorld.hx

    r873 r924  
    3030    var MouseDownFunc:Dynamic -> Void; 
    3131    var MouseDownContext:Dynamic; 
     32    var CurrentTilePos:Vec2; 
    3233 
    3334    function new() 
     
    3536        super(); 
    3637        Scene = []; 
     38        CurrentTilePos=new Vec2(0,0); // perhaps 
    3739    } 
    3840 
     
    107109    } 
    108110 
     111    public function SetCurrentTilePos(s:Vec2) : Void 
     112    { 
     113        CurrentTilePos=s; 
     114    } 
     115 
    109116    public function Update(time) 
    110117    { 
    111118        for (e in Scene) 
    112119        { 
    113             if (e.NeedsUpdate) 
     120            if (e.TilePos!=null) 
     121            { 
     122                e.Hide(!e.TilePos.Eq(CurrentTilePos)); 
     123            } 
     124 
     125            if (e.NeedsUpdate && !e.Hidden) 
    114126            { 
    115127                e.Update(time,cast(this,truffle.World)); 
  • scenarios/GerminationX/fungi/src/truffle/interfaces/Sprite.hx

    r864 r924  
    2626    public var Angle:Float; 
    2727    public var MyScale:Vec2; 
     28    public var Hidden:Bool; 
    2829 
    2930        public function MouseDown(c:Dynamic, f:Dynamic -> Void=null) : Void; 
  • scenarios/GerminationX/fungi/src/truffle/interfaces/World.hx

    r873 r924  
    3030    public function Update(time:Int) : Void; 
    3131    public function Handle(event:Int) : Void; 
     32    public function SetCurrentTilePos(s:Vec2) : Void; 
    3233} 
Note: See TracChangeset for help on using the changeset viewer.