Changeset 905


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

fatima integration

Location:
scenarios/GerminationX
Files:
13 edited

Legend:

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

    r873 r905  
    8585        tf.border = true; 
    8686        tf.wordWrap = true; 
     87        tf.autoSize = flash.text.TextFieldAutoSize.LEFT; 
     88        var t = new flash.text.TextFormat(); 
     89        t.font = "Verdana";  
     90        t.size = 8;                 
     91        t.color= 0x000000;            
     92        tf.setTextFormat(t); 
    8793        Spr.parent.addChild(tf); 
    8894        tf.visible=false; 
     
    141147//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    142148 
    143 class Ghost extends SpriteEntity  
     149class Spirit extends SkeletonEntity  
    144150{ 
    145151    public var Name:String; 
    146152    var Debug:flash.text.TextField; 
    147     public var TexBase:String; 
    148          
    149         public function new(world:World, name:String,pos) 
    150         { 
    151         TexBase="ghost-"+name.toLowerCase(); 
    152                 super(world,pos,Resources.Get(TexBase)); 
     153         
     154        public function new(world:World, name:String, pos) 
     155        { 
     156                super(world,pos); 
    153157        Name = name; 
    154  
    155         Debug = new flash.text.TextField(); 
    156         Debug.wordWrap=true; 
    157         Debug.y=-50; 
    158         Debug.width=300; 
    159         Debug.text = "nothing yet"; 
    160         Spr.addChild(Debug); 
     158    } 
     159 
     160        public function BuildDebug(c) 
     161    { 
     162        var tf = new flash.text.TextField(); 
     163        tf.text = "nowt yet."; 
     164        tf.x=Pos.x-50; 
     165        tf.y=Pos.y-25; 
     166        tf.height=150; 
     167        tf.width=100; 
     168        tf.background = true; 
     169        tf.autoSize = flash.text.TextFieldAutoSize.LEFT; 
     170        //tf.backgroundColor = 0x8dd788; 
     171        tf.border = true; 
     172        tf.wordWrap = true; 
     173        var t = new flash.text.TextFormat(); 
     174        t.font = "Verdana";  
     175        t.size = 8;                 
     176        t.color= 0x000000;            
     177        tf.setTextFormat(t); 
     178        c.addChild(tf); 
     179        Debug=tf; 
     180        /*tf.visible=false; 
     181        Root.MouseOver(this,function(c) { tf.visible=true; }); 
     182        Root.MouseOut(this,function(c) { tf.visible=false; });*/ 
     183 
     184        Root.MouseDown(c,function(c) 
     185        { 
     186            trace("perc..."); 
     187            c.Server.Request("perceive",1,function(c,d){}); 
     188        }); 
    161189        } 
    162190 
     
    165193        var ee = e.emotions.content; 
    166194        var mood=Std.parseFloat(ee[0].content[0]); 
    167         if (mood>1) Spr.ChangeBitmap(Resources.Get(TexBase+"-happy")); 
    168         else if (mood<-1) Spr.ChangeBitmap(Resources.Get(TexBase+"-sad")); 
    169         else Spr.ChangeBitmap(Resources.Get(TexBase)); 
    170  
    171         Debug.text=Name+"\nMood:"+ee[0].content[0]+"\n"; 
     195 
     196        var text=Name+"\nMood:"+ee[0].content[0]+"\n"; 
    172197 
    173198        for (i in 1...ee.length) 
    174199        { 
    175             Debug.text+=ee[i].attrs.type+" "+ee[i].attrs.direction+"\n"; 
    176             Debug.text+=ee[i].attrs.cause+"\n"; 
    177         } 
     200            text+=ee[i].attrs.type+" "+ee[i].attrs.direction+"\n"; 
     201            text+=ee[i].attrs.cause+"\n"; 
     202        } 
     203 
     204        Debug.text=text; 
     205 
     206        var t = new flash.text.TextFormat(); 
     207        t.font = "Verdana";  
     208        t.size = 8;                 
     209        t.color= 0x000000;            
     210        Debug.setTextFormat(t); 
     211 
     212 
     213        //trace(text); 
    178214    } 
    179215} 
     
    247283    var Frame:Int; 
    248284    var TickTime:Int; 
    249     var Ghosts:Array<Ghost>; 
     285    var PerceiveTime:Int; 
     286    var Spirits:Array<Spirit>; 
    250287    public var Seeds:SeedStore; 
    251288    var Server : ServerConnection; 
     
    256293                Frame=0; 
    257294        TickTime=0; 
     295        PerceiveTime=0; 
    258296                Width=w; 
    259297                Height=h; 
    260298                Plants = []; 
    261299        Objs = []; 
    262         Ghosts = []; 
     300        Spirits = []; 
    263301        Seeds = new SeedStore(1); 
    264302                WorldPos = new Vec3(0,0,0); 
     
    307345                UpdateWorld(new Vec3(0,0,0)); 
    308346                 
    309         var Names = ["Vertical","Canopy","Cover"]; 
    310 /*         
    311         for (i in 0...3) 
    312         { 
    313             var g = new Ghost(this,Names[i],new Vec3(2,(i*3)+2,1)); 
    314             Ghosts.push(g); 
    315         } 
    316 */ 
    317347                MyTextEntry=new TextEntry(300,10,310,30,NameCallback); 
    318348                addChild(MyTextEntry);   
     
    320350        Update(0); 
    321351        SortScene(); 
    322         Server.Request("spirit-sprites",this,UpdateSpiritSprites); 
     352        var names = ["CanopySpirit","CoverSpirit","VerticalSpirit"]; 
     353        var positions = [new Vec3(0,5,4), new Vec3(7,0,4), new Vec3(2,10,4)]; 
     354 
     355        for (i in 0...3) 
     356        { 
     357            Server.Request("spirit-sprites/"+names[i], 
     358            this, 
     359            function (c,data:Array<Dynamic>) 
     360            { 
     361                var sp:Spirit = new Spirit(c,names[i],positions[i]); 
     362                sp.NeedsUpdate=true; 
     363                sp.Build(c,data); 
     364                sp.BuildDebug(c); 
     365                c.SortScene(); 
     366                c.Spirits.push(sp); 
     367            }); 
     368        } 
    323369        } 
    324370         
     
    398444                return Objs[cast(pos.x+pos.y*Width,Int)]; 
    399445        } 
    400          
    401     public function UpdateSpiritSprites(c,data:Array<Dynamic>) 
    402     { 
    403         var sk:SkeletonEntity = new SkeletonEntity(this,new Vec3(0,5,4)); 
    404         sk.NeedsUpdate=true; 
    405         sk.Build(this,data); 
    406         SortScene(); 
    407      } 
    408          
     446                 
    409447    public function SpaceClear(pos:Vec3) 
    410448    { 
     
    422460        } 
    423461 
    424     public function UpdateGhosts(t:Dynamic) 
     462    public function UpdateGhosts(c,t:Dynamic) 
    425463    { 
    426464        for(i in 0...t.length) 
    427465        { 
    428             for (g in Ghosts) 
     466            for (g in Spirits) 
    429467            { 
    430468                if (g.Name==t[i].name) 
     
    444482        if (time>TickTime) 
    445483        { 
    446             //WorldClient.Call("agent-info",UpdateGhosts); 
     484            Server.Request("spirit-info",this,UpdateGhosts); 
    447485 
    448486            Server.Request("get-tile/"+Std.string(cast(WorldPos.x,Int))+"/" 
  • scenarios/GerminationX/fungi/src/truffle/SkeletonEntity.hx

    r820 r905  
    2424        var g:Graph; 
    2525    var bones:Array<Bone>; 
     26    public var Id:Int; 
    2627 
    2728        public function new(world:World,pos:Vec3)  
     
    2930                super(world,pos); 
    3031        Root = null; 
     32        // hack for the animation 
     33        Id=cast(pos.y,Int); 
    3134        } 
    3235 
     
    135138 
    136139        //UpdateDepth(); 
     140        var c=this; 
    137141 
    138142        Root.Recurse(function(b:Bone,depth:Int)  
    139143        { 
    140             b.SetRotate(15*Math.sin((10-depth)*0.58+frame*0.04)); 
     144            b.SetRotate(15*Math.sin((10-depth)*0.58+frame*(0.04+0.01*c.Id))); 
    141145        } 
    142146        ); 
  • scenarios/GerminationX/oak/data/characters/minds/roles/CanopySpirit/CanopySpirit.xml

    r904 r905  
    11<Character role="CanopySpirit"> 
    22        <EmotionalThresholds> 
    3                 <EmotionalThreshold emotion="Love" threshold="1" decay="10"/> 
     3                <EmotionalThreshold emotion="Love" threshold="0" decay="10"/> 
    44                <EmotionalThreshold emotion="Hate" threshold="0" decay="5"/> 
    55                <EmotionalThreshold emotion="Hope" threshold="3" decay="2"/> 
     
    4444 
    4545                <!-- General emotional reactions used in more than one episode --> 
    46          
     46        <!-- 
    4747                <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
    4848                        <Event subject="*" action="flower"/> 
     
    5252                        <Event subject="*" action="drop-leaves"/> 
    5353                </EmotionalReaction> 
    54                  
     54                --> 
    5555        </EventReactions> 
    5656         
  • scenarios/GerminationX/oak/data/characters/minds/roles/CoverSpirit/CoverSpirit.xml

    r904 r905  
    11<Character role="CoverSpirit"> 
    22        <EmotionalThresholds> 
    3                 <EmotionalThreshold emotion="Love" threshold="3" decay="5"/> 
    4                 <EmotionalThreshold emotion="Hate" threshold="2" decay="5"/> 
     3                <EmotionalThreshold emotion="Love" threshold="0" decay="5"/> 
     4                <EmotionalThreshold emotion="Hate" threshold="0" decay="5"/> 
    55                <EmotionalThreshold emotion="Hope" threshold="1" decay="2"/> 
    66                <EmotionalThreshold emotion="Fear" threshold="5" decay="8"/> 
     
    4444 
    4545                <!-- General emotional reactions used in more than one episode --> 
    46                 <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
     46<!--            <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
    4747                        <Event subject="*" action="flower"/> 
    4848                </EmotionalReaction> 
     
    5151                        <Event subject="*" action="drop-leaves"/> 
    5252                </EmotionalReaction> 
    53                  
     53        -->      
    5454        </EventReactions> 
    5555         
  • scenarios/GerminationX/oak/data/characters/minds/roles/VerticalSpirit/VerticalSpirit.xml

    r904 r905  
    11<Character role="VerticalSpirit"> 
    22        <EmotionalThresholds> 
    3                 <EmotionalThreshold emotion="Love" threshold="3" decay="5"/> 
    4                 <EmotionalThreshold emotion="Hate" threshold="2" decay="5"/> 
     3                <EmotionalThreshold emotion="Love" threshold="0" decay="5"/> 
     4                <EmotionalThreshold emotion="Hate" threshold="0" decay="5"/> 
    55                <EmotionalThreshold emotion="Hope" threshold="1" decay="2"/> 
    66                <EmotionalThreshold emotion="Fear" threshold="5" decay="8"/> 
     
    4242         
    4343        <EventReactions> 
    44  
    45                 <!-- General emotional reactions used in more than one episode --> 
     44<!-- 
     45                 
    4646                <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
    4747                        <Event subject="*" action="flower"/> 
     
    5151                        <Event subject="*" action="drop-leaves"/> 
    5252                </EmotionalReaction> 
    53                  
     53        -->      
    5454        </EventReactions> 
    5555         
  • scenarios/GerminationX/oak/src/oak/core.clj

    r904 r905  
    4444(defn tick [] 
    4545  (Thread/sleep 1000) 
     46  (println ".") 
    4647  ;(game-world-print (deref my-game-world)) 
    4748  (let [time (.getTime (java.util.Date.))] 
     
    5960  (recur)) 
    6061 
    61 (tick) 
     62;(tick) 
    6263 
    6364(defroutes main-routes 
     
    6970           (json/encode-to-str tile) 
    7071           (json/encode-to-str '())))) 
     72 
    7173  (GET "/make-plant/:tilex/:tiley/:posx/:posy/:type/:owner/:size" 
    7274       [tilex tiley posx posy type owner size] 
    73        (println "making plant...") 
    7475       (append-spit 
    7576        log-filename 
     
    8687       ;(println (deref my-game-world)) 
    8788       (json/encode-to-str '("ok"))) 
     89   
    8890  (GET "/spirit-sprites/:name" [name] 
    8991       (update-islands (str "./" name) (str "./" name)) 
    90        (read-islands "./public/" name)) 
     92       (read-islands (str "./public/" name))) 
    9193 
    9294  (GET "/spirit-info" [] 
     
    9597                              {:name (remote-agent-name a) 
    9698                               :emotions (remote-agent-emotions a)}) 
    97                             (world-agents (deref myworld))) 
     99                            (world-agents (deref fatima-world))) 
    98100                           :indent 2)) 
    99101  (GET "/perceive" [] 
    100        (world-perceive-all (deref myworld))) 
     102       (world-perceive-all (deref fatima-world)) 
     103       (json/encode-to-str '("ok"))) 
    101104   
    102105  (comment  
     
    112115                    (run-jetty (wrap-file main-routes "public") {:port 8001})) 
    113116                  (fn [] 
    114                     (tick) (println "DONE TICK")))] 
     117                    (tick)))] 
    115118     
    116119  (doseq [future (.invokeAll pool tasks)] 
  • scenarios/GerminationX/oak/src/oak/forms.clj

    r904 r905  
    2626(defn max-cons [o l m] 
    2727  (cons o (discard l m))) 
     28 
     29(defn gg [] 
     30  (let [i (atom 0)] 
     31    (fn [] (swap! i inc)))) 
     32 
     33(def generate-id (gg)) 
  • scenarios/GerminationX/oak/src/oak/game_world.clj

    r904 r905  
    132132        (do 
    133133          (world-add-object fw 
    134                             {"name" (str (:layer entity) "-" (:state entity)) 
     134                            {"name" (str (:layer entity) "-" (:state entity) "-" (str (:id entity))) 
    135135                             "owner" (:layer entity) 
    136136                             "position" (str (:x (:pos entity)) "," (:y (:pos entity))) 
  • scenarios/GerminationX/oak/src/oak/io.clj

    r904 r905  
    9898(defn read-msg [reader] 
    9999  (let [r (.readLine reader)] 
    100     (println "<----------------- " r) 
     100    ;(println "<----------------- " r) 
    101101    r)) 
    102102 
    103103(defn send-msg [sc msg] 
    104   (println "----------------> " msg) 
     104  ;(println "----------------> " msg) 
    105105  (let [msg (str msg "\n") 
    106106        enc (.newEncoder (Charset/forName "US-ASCII"))]   
    107107    (.write sc (.encode enc (CharBuffer/wrap msg))))) 
    108  
    109 (let [i (atom 0)] 
    110   (defn generate-id [] 
    111     (swap! i inc))) 
    112108 
    113109(defn load-object [fname] 
  • scenarios/GerminationX/oak/src/oak/plant.clj

    r904 r905  
    2727 
    2828(defrecord plant 
    29   [pos 
     29  [id 
     30   pos 
    3031   type 
    3132   layer 
     
    5354   
    5455(defn make-plant [pos type owner size] 
    55   (plant. pos type (plant-type->layer type) 
     56  (plant. (generate-id) pos type (plant-type->layer type) 
    5657          'grow-a '() owner size 0 (+ 30 (Math/floor (rand 10))) start-health)) 
    5758 
  • scenarios/GerminationX/oak/src/oak/spirit.clj

    r900 r905  
    3535   
    3636(defn spirit-update [spirit remote-agent] 
    37   (comment println (:name spirit)) 
     37  (println (:name spirit)) 
    3838  (println (map 
    3939            (fn [emotion] 
  • scenarios/GerminationX/oak/src/oak/world.clj

    r904 r905  
    130130  (reduce 
    131131   (fn [r obj] 
    132      (if (and (not r) (and (= name (get obj "name")) 
    133                            (= pos (get obj "position")))) 
     132     (if (and (not r) (= pos (get obj "position"))) 
    134133       obj r)) 
    135134   false 
Note: See TracChangeset for help on using the changeset viewer.