Changeset 1009


Ignore:
Timestamp:
03/09/2011 02:38:33 PM (9 years ago)
Author:
dave
Message:

fixed character names, click-through plants working, misc fixes

Location:
scenarios/GerminationX
Files:
7 edited

Legend:

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

    r1006 r1009  
    6969    var Scale:Float; 
    7070    var PlantType:String; 
    71     var State:String; 
     71    public var State:String; 
    7272    var Seeds:Array<Sprite>; 
    7373    var Layer:String; 
    7474 
    75         public function new(world:World, id:Int, owner:String, pos, type:String, state:String, fruit:Bool) 
     75        public function new(world:World, id:Int, owner:String, pos, type:String, state:String, fruit:Bool, layer:String) 
    7676        { 
    7777                super(world,pos,Resources.Get(type+"-"+state),false); 
     
    8383        //NeedsUpdate=true; 
    8484        Seeds=[]; 
    85  
    86         Layer="none"; 
    87         if (type=="plant-001") Layer="cover"; 
    88         if (type=="plant-002") Layer="canopy"; 
    89         if (type=="plant-003") Layer="vertical"; 
    90  
     85        Layer=layer; 
    9186        Spr.Hide(false); 
    9287         
     
    162157                { 
    163158                    p.Seeds.remove(f); 
     159                    world.ActivatePlants(false); 
    164160                    world.RemoveSprite(f); 
    165161                    world.Server.Request("pick/"+ 
     
    245241        Root.MouseDown(c,function(c) 
    246242        { 
    247             tf.visible=!tf.visible; 
    248             figures.visible=!figures.visible; 
     243            tf.visible=true; 
     244            figures.visible=true; 
     245        }); 
     246 
     247        Root.MouseOut(c,function(c) 
     248        { 
     249            tf.visible=false; 
     250            figures.visible=false; 
    249251        }); 
    250252 
     
    351353        if (irritation>5) irritation=5; 
    352354        var bouncyness = c.Emotions.Gratitude; 
     355        if (bouncyness>5) bouncyness=5; 
    353356        var bounce=new Vec2(0,0); 
    354357 
     
    492495        TileInfo.height=10; 
    493496        TileInfo.width=120; 
    494         TileInfo.background = false; 
     497        TileInfo.background = true; 
    495498        TileInfo.autoSize = flash.text.TextFieldAutoSize.LEFT; 
    496499        TileInfo.border = true; 
     
    576579                    if (type!="") 
    577580                    { 
     581                        c.ActivatePlants(true); 
    578582                        c.SpiralScale=1; 
    579                         c.Spiral.SetPos(new Vec2(ob.mouseX,ob.mouseY)); 
     583                        c.Spiral.SetPos(new Vec2(ob.Pos.x,ob.Pos.y-32)); 
    580584                        c.AddServerPlant(ob.LogicalPos.Add(new Vec3(0,0,1)),type); 
    581585                    } 
     
    592596        TheCritters = new Critters(this,3); 
    593597 
    594         Spiral = new Sprite(new Vec2(0,0), Resources.Get("spiral")); 
     598        Spiral = new Sprite(new Vec2(0,0), Resources.Get("spiral"), true); 
    595599        AddSprite(Spiral); 
    596600 
    597601        Update(0); 
    598602        SortScene(); 
    599         var names = ["CanopySpirit","VerticalSpirit","CoverSpirit"]; 
     603        var names = ["TreeSpirit","ShrubSpirit","CoverSpirit"]; 
    600604        var positions = [new Vec3(0,5,4), new Vec3(7,0,4), new Vec3(2,10,4)]; 
    601605  
     
    707711        } 
    708712 
     713    public function ActivatePlants(s:Bool) : Void 
     714    { 
     715        for (plant in Plants) 
     716        { 
     717            plant.Spr.EnableMouse(s); 
     718        } 
     719        } 
     720 
    709721    public function ClearPlants() : Void 
    710722    { 
     
    796808                        { 
    797809                            var pos = new Vec3(p.pos.x,p.pos.y,cube.LogicalPos.z+1);    
    798                             var plant = new Plant(c,Std.parseInt(p.id),p.owner,pos,p.type,p.state,p.fruit); 
     810                            var plant = new Plant(c,Std.parseInt(p.id), 
     811                                                  p.owner, 
     812                                                  pos, 
     813                                                  p.type, 
     814                                                  p.state, 
     815                                                  p.fruit, 
     816                                                  p.layer); 
    799817                            c.Plants.push(plant); 
    800818                        } 
     
    808826                    } 
    809827                } 
     828 
     829                var temp=c.Plants; 
     830                for (plant in cast(c,FungiWorld).Plants) 
     831                { 
     832                    if (plant.State=="decayed") 
     833                    { 
     834                        c.Remove(plant); 
     835                        temp.remove(plant); 
     836                    } 
     837                } 
     838                c.Plants=temp; 
     839 
    810840                c.SortScene(); 
    811841            });             
  • scenarios/GerminationX/fungi/src/truffle/flash/FlashSprite.hx

    r976 r1009  
    6666        DoCentreMiddleBottom=midbot; 
    6767        ChangeBitmap(t); 
     68        EnableMouse(false); 
    6869        Update(0,null); // <-- calls inherited class update??? 
    6970        } 
     
    7778        public function MouseDown(c:Dynamic, f:Dynamic -> Void=null) 
    7879        { 
     80        EnableMouse(true); 
    7981        MouseDownFunc=f; 
    8082        MouseDownContext=c; 
     
    8991        public function MouseUp(c:Dynamic, f:Dynamic -> Void=null) 
    9092        { 
     93        EnableMouse(true); 
    9194        MouseUpFunc=f; 
    9295        MouseUpContext=c; 
     
    101104        public function MouseOver(c:Dynamic, f:Dynamic -> Void=null) 
    102105        { 
     106        EnableMouse(true); 
    103107        MouseOverFunc=f; 
    104108        MouseOverContext=c; 
     
    113117        public function MouseOut(c:Dynamic, f:Dynamic -> Void=null) 
    114118        { 
     119        EnableMouse(true); 
    115120        MouseOutFunc=f; 
    116121        MouseOutContext=c; 
     
    153158            Centre.y=Height/2; 
    154159        } 
     160    } 
     161 
     162    public function EnableMouse(s:Bool) 
     163    { 
     164        mouseEnabled=s; 
     165        mouseChildren=s; 
    155166    } 
    156167 
  • scenarios/GerminationX/fungi/src/truffle/interfaces/Sprite.hx

    r976 r1009  
    3333        public function MouseOver(c:Dynamic, f:Dynamic -> Void=null) : Void;     
    3434        public function MouseOut(c:Dynamic, f:Dynamic -> Void=null) : Void; 
     35    public function EnableMouse(s:Bool): Void; 
    3536    public function ChangeBitmap(t:TextureDesc) : Void; 
    3637 
  • scenarios/GerminationX/oak/run.sh

    r925 r1009  
    22sleep 40 
    33echo starting agents... 
    4 java -cp lib/FAtiMA.jar FAtiMA.Agent localhost 46874 false CanopySpirit F CanopySpirit CanopySpirit strength:4 hurt:false pose:standing & 
     4java -cp lib/FAtiMA.jar FAtiMA.Agent localhost 46874 false TreeSpirit F TreeSpirit TreeSpirit strength:4 hurt:false pose:standing & 
    55sleep 1 
    66java -cp lib/FAtiMA.jar FAtiMA.Agent localhost 46874 false CoverSpirit F CoverSpirit CoverSpirit strength:8 hurt:false pose:standing & 
    77sleep 1 
    8 java -cp lib/FAtiMA.jar FAtiMA.Agent localhost 46874 false VerticalSpirit M VerticalSpirit VerticalSpirit strength:9 hurt:false pose:standing & 
     8java -cp lib/FAtiMA.jar FAtiMA.Agent localhost 46874 false ShrubSpirit M ShrubSpirit ShrubSpirit strength:9 hurt:false pose:standing & 
    99 
  • scenarios/GerminationX/oak/src/oak/core.clj

    r1004 r1009  
    3939 
    4040;(def my-game-world (ref (game-world-load state-filename))) 
    41 (def my-game-world (ref (make-game-world 1000 1))) 
     41(def my-game-world (ref (make-game-world 300 1))) 
    4242 
    4343(append-spit log-filename (str (str (Date.)) " server started\n")) 
  • scenarios/GerminationX/oak/src/oak/plant.clj

    r1006 r1009  
    2020   clojure.contrib.math)) 
    2121 
    22 (def season-length (* 60 5)) 
     22(def season-length (* 60 10)) 
    2323(def min-health 10) 
    2424(def max-health 90) 
     
    5353   (= type "dandelion") "cover" 
    5454   (= type "clover") "cover" 
    55    (= type "aronia") "vertical" 
    56    (= type "apple") "canopy" 
    57    (= type "cherry") "canopy")) 
     55   (= type "aronia") "shrub" 
     56   (= type "apple") "tree" 
     57   (= type "cherry") "tree")) 
    5858 
    5959(defn plant-type->id [type] 
     
    8888 
    8989; the plant state machine, advance state, based on health 
    90 (defn adv-state [state health season] 
     90(defn adv-state [state health season annual] 
    9191  (cond 
    9292   (= state 'grow-a) (cond (> health min-health) 'grow-b :else (rand-nth (list 'grow-a 'grow-b))) 
     
    9898                              (= season 'summer))) 
    9999                     'fruit-a 
    100                      (or (= season 'autumn) (= season 'winter)) 
     100                     (or (= season 'autumn) (= season 'winter) 
     101                         (< health min-health)) 
    101102                     'decay-a 
    102103                     :else 'grown) 
    103    (= state 'fruit-a) 'fruit-b 
    104    (= state 'fruit-b) 'fruit-c 
    105    (= state 'fruit-c) (if (or (= season 'autumn) (= season 'winter)) 'decay-a 'fruit-c) 
     104   (= state 'fruit-a) (if (< health min-health) 'decay-a 'fruit-b) 
     105   (= state 'fruit-b) (if (< health min-health) 'decay-a'fruit-c) 
     106   (= state 'fruit-c) (if (or (= season 'autumn) (= season 'winter) 
     107                              (< health min-health)) 
     108                        'decay-a 'grown) 
    106109   (= state 'decay-a) 'decay-b 
    107110   (= state 'decay-b) 'decay-c 
    108111   (= state 'decay-c) (cond (and (or (= season 'spring) (= season 'summer)) 
    109                                  (> health min-health)) 'grown 
    110                                  :else (if (< health min-health) 'ill-c 'decay-c)) 
     112                                 (> health min-health)) 
     113                            (if annual 'grow-a 'grown) 
     114                            :else 
     115                            (if (< health min-health) 'ill-c 'decay-c)) 
    111116   (= state 'ill-c) (cond (< health min-health) 'decayed 
    112117                (> health max-health) 'grown 
     
    148153        (fn [state] (adv-state state 
    149154                               (:health plant) 
    150                                season)) 
     155                               season 
     156                               ; for the moment assume cover plants 
     157                               ; are annuals 
     158                               (= (:layer plant) "cover"))) 
    151159        (modify 
    152160         :timer (fn [t] 0) plant)) 
Note: See TracChangeset for help on using the changeset viewer.